/**
 * 
 */
package com.nari.interfaces.dao;

import java.util.Date;
import java.util.List;

import com.nari.coreframe.dao.hibernate3.IGenericDao;
import com.nari.interfaces.model.IHeatMeterDataBuffer;

/**
 * 
 * @author Xiaopeng
 * @date 2013-11-11
 */
public interface IHeatMeterDataBufferDao extends IGenericDao<IHeatMeterDataBuffer, String> {

	/**
	 * 批量保存接口上传的热量表数据
	 * 说明：若存在相同表号、相同抄表日期的的热量表数据，则不保存
	 * @param uploadMissionUID 任务ID
	 * @param meterDataList
	 * @return 返回保存成功的热量表数据个数
	 * @throws Exception
	 * @author Xiaopeng
	 * @date 2013-11-11
	 */
	public int saveMeterDataBatch(String uploadMissionUID, 
			List<IHeatMeterDataBuffer> meterDataList) throws Exception;
	
	/**
	 * 通过热量表数据标识(表号、抄表时间)统计热量表数据个数
	 * @param meterNo
	 * @param recordTime
	 * @return
	 * @throws Exception
	 * @author Xiaopeng
	 * @date 2013-11-11
	 */
	public int countMeterDataNumByMark(String meterNo, Date recordTime) throws Exception;
	
	/**
	 * 通过任务ID查询接口上传的热量表数据列表
	 * @param uploadMissionUID
	 * @return
	 * @throws Exception
	 * @author Xiaopeng
	 * @date 2013-11-11
	 */
	public List<IHeatMeterDataBuffer> queryMeterDataListByMissionUID(String uploadMissionUID) 
			throws Exception;
	
	/**
	 * 通过任务ID删除接口上传的热量表数据
	 * @param uploadMissionUID
	 * @throws Exception
	 * @author Xiaopeng
	 * @date 2013-11-11
	 */
	public void deleteMeterDataByMissionUID(String uploadMissionUID) throws Exception;
}
